home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Backups / MRBackup / Install-MRBackup < prev    next >
Text File  |  1996-09-26  |  7KB  |  305 lines

  1. ; Installer script for installing MRBackup Professional
  2.  
  3. (set @default_dest "SYS:MRBackup")
  4. (set @app-name "MRBackup Professional")
  5.  
  6. ; Establish an error cleanup routine.
  7.  
  8. (onerror
  9.     (makeassign "MRBackup" (safe))
  10. )
  11.  
  12. ; Get the version of the OS:
  13. ( set osVersion (getversion) )
  14. ( set osVer (/ osVersion 65536))
  15. ( set osRev (- osVersion (* osVer 65536) ) )
  16.  
  17. ( message ("You are currently running AmigaDOS %ld.%ld" osVer osRev ) )
  18.  
  19. ; See if this is really an update.
  20.  
  21. (set is_update 0)
  22. (set MRBackup_dest (getassign "MRBackup" "a"))
  23.  
  24. ; If it's an update, be sure user wants to use the same target directory.
  25.  
  26. (if MRBackup_dest
  27.     ; then
  28.     (if (askbool
  29.         (prompt "Your current copy of MRBackup Professional appears to be located in the drawer named \""
  30.                     MRBackup_dest
  31.                     "\". Do you want the update installed in that drawer?"
  32.             )
  33.             (help
  34. "The installer has determined that you may already have a "
  35. "copy of MRBackup installed on your system. If this is wrong or "
  36. "you want the update installed elsewhere, select NO as an "
  37. "answer. Otherwise, select YES."
  38.             )
  39.             (default 1)
  40.         )
  41.  
  42.         (set is_update 1)        ; if user wants in same place
  43.  
  44.         (set MRBackup_dest            ; if user wants in different place
  45.             (askdir
  46.                 (prompt "In which disk or drawer should MRBackup Professional be installed?")
  47.                 (help @askdir-help)
  48.                 (default "SYS:MRBackup")
  49.             )
  50.         )
  51.     )
  52.     ; else
  53.     (
  54.         (set MRBackup_dest
  55.             (askdir
  56.                 (prompt "In which disk or drawer should MRBackup Professional be installed?")
  57.                 (help @askdir-help)
  58.                 (default "SYS:MRBackup")
  59.             )
  60.         )
  61.     )
  62. )
  63.  
  64. (if (not (exists MRBackup_dest) )
  65.     (makedir MRBackup_dest (infos) (confirm) (help) 
  66.             (prompt "Creating destination directory...")
  67.     )
  68. )
  69.  
  70. (makeassign "MRBackup" MRBackup_dest (safe))
  71.  
  72. ; Now lock on to volume 'MRBackup'.
  73.  
  74. ;(askdisk
  75. ;    (prompt "Please insert the disk labeled \"MRBackup Professional\".")
  76. ;    (help    "The MRBackup Professional program and support files will be copied "
  77. ;            "from this disk onto your system.")
  78. ;    (dest  "MRBackup Professional")
  79. ;    (newname "MRBackupInstallDisk")
  80. ;)
  81.  
  82. ; Create a logical assignment to the current directory.
  83. (makeassign "MRBackupInstallDisk" "" (safe) )
  84.  
  85. ; Make MRBackup drawer & icon if not there
  86.  
  87. (if (not is_update)
  88.     (makedir MRBackup_dest (infos))
  89. )
  90.  
  91. (makedir (tackon MRBackup_dest "Work"))
  92. (makedir (tackon MRBackup_dest "Catalogs"))
  93. (makedir (tackon MRBackup_Dest "Lists_and_Logs"))
  94.  
  95. ; At this point we have a valid destination, so we tell installer where
  96. ; the application will end up so the exit page will be correct -- also,
  97. ; the installation log file (if any) will be copied to the destination
  98. (set @default-dest MRBackup_dest)
  99.  
  100. (set cpu_prompt (cat 
  101.     "If you have an accelerated Amiga with a 68020/68030/68040 CPU, you "
  102.     "can elect to install a special version of the software configured "
  103.     "for your accelerated CPU. Any system can use the 68000 version. "
  104.     "Please note that selecting the wrong version will probably result "
  105.     "in a system crash, so if you choose other than 68000, be sure to "
  106.     "choose the correct configuration."
  107.     )
  108. )
  109.  
  110. (set cpu_type
  111.     (askchoice 
  112.         (prompt cpu_prompt) 
  113.         (choices "68000" "68020" "68030" "68040" )
  114.         (help 
  115. "This prompt allows you to select a special version of the software "
  116. "which takes advantage of an accelerated CPU, should you have one "
  117. "installed in your Amiga."
  118.         )
  119.         (default 0) 
  120.     )
  121. )
  122.  
  123. (if (= cpu_type 0)
  124.     (set cpu_type "")
  125.     (if (= cpu_type 1)
  126.         (set cpu_type "_020")
  127.         (if (= cpu_type 2)
  128.             (set cpu_type "_020")
  129.             (set cpu_type "_040")
  130.         )
  131.     )
  132. )
  133.  
  134. (debug "The value of cpu_type is " cpu_type)
  135.  
  136. ; Copy the user's registration key if it exists on the install disk.
  137. (if (exists "MRBackupInstallDisk:mrbackup.key")
  138.     (copyfiles
  139.         (source "MRBackupInstallDisk:mrbackup.key")
  140.         (dest MRBackup_dest)
  141.     )
  142. )
  143.  
  144. (copyfiles
  145.     (source "MRBackupInstallDisk:")
  146.     (pattern "#?.info")
  147.     (dest MRBackup_dest)
  148. )
  149.  
  150. (copyfiles
  151.     (source "MRBackupInstallDisk:Rexx")
  152.     (dest (tackon MRBackup_dest "Rexx") )
  153.     (all)
  154.     (infos)
  155. )
  156.  
  157.     ;
  158.     ; Delete previous .guide files. Older versions of MRBackup had many
  159.     ; files. This version has only one. 
  160.     ;
  161.  
  162. (
  163.     if is_update
  164.     ; then
  165.     (  
  166.         foreach (tackon MRBackup_dest "Help") 
  167.                 "#?.guide"
  168.                 ( delete @each-name )
  169.     )
  170. )
  171.  
  172. (copyfiles
  173.     (source "MRBackupInstallDisk:Help")
  174.     (dest (tackon MRBackup_dest "Help") )
  175.     (all)
  176.     (infos)
  177. )
  178.  
  179. (copyfiles
  180.     (source "MRBackupInstallDisk:Help.info")
  181.     (dest MRBackup_dest)
  182. )
  183.  
  184. ( if is_update 
  185.   (set copy_prefs 
  186.         (askbool (prompt "Overwrite preferences files?")
  187.                  (help "If you answer Yes, your existing preferences "
  188.                        "files will be overwritten. "
  189.                  )
  190.         )
  191.   )
  192.   ( set copy_prefs 1 )
  193. )
  194.   
  195.  
  196. ( if copy_prefs
  197.     ( copyfiles
  198.         (source "MRBackupInstallDisk:Prefs")
  199.         (dest (tackon MRBackup_dest "Prefs") )
  200.         (all)
  201.         (infos)
  202.     )
  203.     ( transcript "Preferences files were not copied." )
  204. )
  205.  
  206. (copyfiles
  207.     (source "MRBackupInstallDisk:Prefs.info")
  208.     (dest MRBackup_dest)
  209. )
  210.  
  211. (copyfiles
  212.     (source "MRBackupInstallDisk:Docs")
  213.     (dest (tackon MRBackup_dest "Docs") )
  214.     (all)
  215.     (infos)
  216. )
  217.  
  218. (copyfiles
  219.     (source "MRBackupInstallDisk:Docs.info")
  220.     (dest MRBackup_Dest)
  221. )
  222.  
  223. ; The shareware diskette has a special document at the top level.
  224.  
  225. (if (exists "MRBackupInstallDisk:ShareWare")
  226.     (copyfiles
  227.         (source "MRBackupInstallDisk:")
  228.         (pattern "(ShareWare|ShareWare.info)")
  229.         (dest MRBackup_dest)
  230.     )
  231. )
  232.  
  233. (copyfiles
  234.     (source "MRBackupInstallDisk:")
  235.     (pattern    "(MRBackup|MRBackup.info|Compressor.info|FormatDisk|FormatDisk.info)")
  236.     (dest MRBackup_dest)
  237. )
  238.  
  239. (set compressor_name (cat "Compressor" cpu_type))
  240. (copyfiles
  241.     (source (tackon "MRBackupInstallDisk:" compressor_name) )
  242.     (dest MRBackup_dest)
  243.     (newname (tackon MRBackup_dest "Compressor" ) )
  244. )
  245.  
  246. (working "Updating MRBackup icon...")
  247. (tooltype
  248.     (dest MRBackup_dest)
  249.     (noposition)
  250. )
  251.  
  252. ; Copy MRBackup's tape handler to the L: directory.
  253.  
  254. (working "Copying MRTape-Handler...")
  255. (copylib 
  256.     (source "MRBackupInstallDisk:L/mrtape-handler")
  257.     (dest "L:")
  258. )
  259.  
  260. (working "")
  261.  
  262. ; modify S:User-Startup
  263.  
  264. (startup "MRBackup"
  265.     (prompt
  266.         "Some instructions need to be added to the \"S:user-startup\" "
  267.         "so that your system will be properly configured to use MRBackup.")
  268.     (help "Do this or MRBackup won't work!!")
  269.     (command
  270.         "ASSIGN MRBackup: \"" MRBackup_dest "\"\n"
  271.         the_cache
  272.     )
  273. )
  274.  
  275. ; reinitialize assigns
  276.  
  277. (if (not @pretend)
  278.     (    
  279.         (makeassign "MRBackup" MRBackup_dest)
  280.     )
  281. )
  282.  
  283.  
  284.     ( copyfiles
  285.         ( source "MRBackupInstallDisk:Devs" )
  286.         ( dest (tackon MRBackup_dest "Devs" ) )
  287.         ( all )
  288.         ( infos )
  289.     )
  290.     ( message
  291.         "The MRTape mountlist entries have been placed in MRBackup:Devs."
  292.     )
  293. )
  294.  
  295. (complete 100)
  296.  
  297.     ; cleanup
  298.  
  299. (makeassign "MRBackupInstallDisk" (safe))
  300.  
  301. ; this is not strictly necessary, but doesn't hurt -- there is always
  302. ; a default (exit) at the end of any script
  303. (exit)
  304.